
/*
 * Hlpay-Plus aggregate payment system. Copyright
 * (c) 2022-2023 Hlpay Team Copyright has the right of final interpretation.
 */
package com.hlkj.pay.app.adminuser;

import com.hlkj.framework.common.pojo.CommonResult;
import com.hlkj.pay.vo.admin.req.user.AdminUserCheckPermissionReq;
import com.hlkj.pay.vo.admin.req.user.AdminCommonUserLoginReq;
import com.hlkj.pay.vo.admin.resp.user.AdminUserAccountResp;
import com.hlkj.pay.vo.admin.resp.user.AdminUserPermissionResp;
import com.hlkj.pay.vo.admin.resp.user.CheckPermissionResp;
import com.hlkj.pay.vo.admin.resp.user.AdminUserAuthorityResp;
/**
 * @author HlpayTeam
 * @date 2024/09/03 14:17
 */
public interface IUserPermissionAppService {

	/**
	 * login
	 * @param adminCommonUserLoginReq
	 * @return
	 */
	CommonResult<AdminUserAccountResp> login(AdminCommonUserLoginReq adminCommonUserLoginReq);
	/**
	 * userPermission
	 * @param userId
	 * @return
	 */
	CommonResult<AdminUserPermissionResp> userPermission(Long userId);
	/**
	 * logout
	 * @return
	 */
	CommonResult<Void> logout();
	/**
	 * checkPermission
	 * @param adminUserCheckPermissionReq
	 * @return
	 */
	CommonResult<CheckPermissionResp> checkPermission(AdminUserCheckPermissionReq adminUserCheckPermissionReq);
	/**
	 * queryAuthority
	 * @param adminUserCheckPermissionReq
	 * @return
	 */
	CommonResult<AdminUserAuthorityResp> queryAuthority(AdminUserCheckPermissionReq adminUserCheckPermissionReq);
	/**
	 * queryAuthority
	 * @param userId
	 * @return
	 */
	void authorityChange(Long userId);

}
